package com.api.service.impl;

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.api.mapper.ApiAccountMapper;
import com.api.domain.ApiAccount;
import com.api.service.IApiAccountService;
import com.common.core.text.Convert;

/**
 * 用户账户Service业务层处理
 *
 * @author Renbowen
 * @date 2020-09-25
 */
@Service
public class ApiAccountServiceImpl implements IApiAccountService
{
    @Autowired
    private ApiAccountMapper apiAccountMapper;

    /**
     * 查询用户账户
     *
     * @param accountId 用户账户ID
     * @return 用户账户
     */
    @Override
    public ApiAccount selectApiAccountById(Long accountId)
    {
        return apiAccountMapper.selectApiAccountById(accountId);
    }

    /**
     * 查询用户账户列表
     *
     * @param apiAccount 用户账户
     * @return 用户账户
     */
    @Override
    public List<ApiAccount> selectApiAccountList(ApiAccount apiAccount)
    {
        return apiAccountMapper.selectApiAccountList(apiAccount);
    }

    /**
     * 新增用户账户
     *
     * @param apiAccount 用户账户
     * @return 结果
     */
    @Override
    public int insertApiAccount(ApiAccount apiAccount)
    {
        return apiAccountMapper.insertApiAccount(apiAccount);
    }

    /**
     * 修改用户账户
     *
     * @param apiAccount 用户账户
     * @return 结果
     */
    @Override
    public int updateApiAccount(ApiAccount apiAccount)
    {
        return apiAccountMapper.updateApiAccount(apiAccount);
    }

    /**
     * 删除用户账户对象
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deleteApiAccountByIds(String ids)
    {
        return apiAccountMapper.deleteApiAccountByIds(Convert.toStrArray(ids));
    }

    /**
     * 删除用户账户信息
     *
     * @param accountId 用户账户ID
     * @return 结果
     */
    @Override
    public int deleteApiAccountById(Long accountId)
    {
        return apiAccountMapper.deleteApiAccountById(accountId);
    }

    /**
     * 根据openId获取用户信息
     * @param openid
     * @return
     */
    @Override
    public ApiAccount selectApiAccountByWxOpenId(String openid) {
        return apiAccountMapper.selectApiAccountByWxOpenId(openid);
    }

    /**
     * 我邀请的人数
     * @param accountId
     * @return
     */
    @Override
    public Integer countMyInventNum(Long accountId) {
        return apiAccountMapper.countMyInventNum(accountId);
    }

    /**
     * 我的一级邀请好友列表
     * @param accountId
     * @param conditionDate
     * @return
     */
    @Override
    public List<ApiAccount> selectApiAccountOneList(Long accountId, String conditionDate) {
        return apiAccountMapper.selectApiAccountOneList(accountId,conditionDate);
    }

    /**
     * 我的二级邀请好友列表
     * @param accountId
     * @param conditionDate
     * @return
     */
    @Override
    public List<ApiAccount> selectApiAccountTwoList(Long accountId, String conditionDate) {
        return apiAccountMapper.selectApiAccountTwoList(accountId,conditionDate);
    }
}
